(1) 数据类型设置:ARM处理器内部是32 bit寄存器,如果变量长度与ARM内部寄存器长度不一致,将会使得变量的存取都需要附加其他指令[3]。AES算法中密钥及数据都是以字节为单位运算,优化时调整为32 bit,仅在输入输出时进行位数变换,可以带来很大的速度改进。
(2) 循环展开:ARM处理器中每一次循环zui少有4个周期的循环开销[3]。解密轮变换涉及4个子函数调用,循环执行Nr-1次。在等价解密算法融合了3个子函数形成T表查询,于是可以把轮变换展开,在不增加太多代码量的基础上,每一个数据分组解密减少4(Nr-1)个周期。当密钥位长、密文数据量大时节省的循环开销就比较可观。
(3) 控制变量数:为了执行1个函数,应尽量限制函数内部循环所用局部变量的数目,zui多不超过12个,确保zui重要的和经常用到的变量都被分配在寄存器里[3]。
(4) 宏定义函数实现:有些简单函数可以通过宏定义的方式实现,如域内乘法等。此种方式可以减少函数调用开销。
CAN函数库 Kvaser CANlib
CAN函数库 Kvaser CANliblib软件开发组合 - 给你一个接入KVASER硬件平台的透明界面。CANlib SDK (软件开发组合) 特点:支持下列编程软件:Microsoft Visual C++ (也支持C语言 )Borland C++ Builder (以及旧 Borland C++ compiler) -
0评论2020-07-20352
世纪星组态软件强大的数据库查询函数
数据库,相信大家都不陌生,数据存储,查询,修改,维护,这些都是我们要经常对数据操作的,在组态软件中,我们同样可以实现对数据的存储,查询,修改,维护等操作,熟悉世纪星软件的大家应该对这个函数比较熟悉,zdbQueryData( “C
0评论2020-07-20719
!!&收购/回收HP33120A、HP33220A、HP33250A函数信号发生器
0评论2020-07-1913
线性自抗扰控制器由三部分组成,均采用非线性函数,而实际上如果对其进行线性简化同样可以得到性能优良的控制器,而且能减少参数,简单计算。简化的线性自抗扰控制器继承了ADRC的优点:不需要具体的数学模型;不
0评论2020-07-1911
基于VC++6.0的串口通信开发方法
0评论2020-07-1916
基于SEP4O2O的Linux frame buffer驱动设计
0评论2020-07-1915
Linux的TCP/IP协议栈阅读笔记
0评论2020-07-1823
如何编写Linux设备驱动程序
0评论2020-07-1812
WEINVIEW HMI在卷染机上的应用
0评论2020-07-1810